home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Graphics / sKulpt / skulpt-src / Ami-Logo.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-08-26  |  4.0 KB  |  127 lines

  1. #define STRICT
  2.  
  3. // Includes standard Windows
  4. #include <windows.h>
  5. #include <windowsx.h>
  6. #include <time.h>
  7. #include <stdlib.h>
  8. #include <malloc.h>
  9. #include <memory.h>
  10. #include <stdio.h>
  11.  
  12. // Includes D3D
  13. #define  D3D_OVERLOADS
  14. #include <ddraw.h>
  15. #include <d3d.h>
  16. #include <d3dx.h>
  17.  
  18. // Includes utilitaires D3D
  19. #include "d3dmath.h"
  20. #include "d3dutil.h"
  21. #include "D3DEnum.h"
  22.  
  23. // Ids Resources
  24. #include "resource.h"
  25.  
  26. // Constantes
  27. #include "const.h"
  28.  
  29. // Types
  30. #include "types.h"
  31.  
  32. // Variables globales projet
  33. #include "vars.h"
  34.  
  35. // Prototypes fonctions autres modules
  36. #include "proto.h"
  37.  
  38. // Macros
  39. #include "macros.h"
  40.  
  41. NewWindow NWSLogo =
  42. {
  43.     1, 1,
  44.     10, 10,
  45.     1, 0,
  46.     IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_IDCMPUPDATE | IDCMP_GADGETUP | IDCMP_GADGETDOWN,
  47.     WFLG_ACTIVATE | WFLG_SMART_REFRESH | WFLG_RMBTRAP,
  48.     NULL,
  49.     NULL,
  50.     NULL,
  51.     NULL,
  52.     NULL,
  53.     20, 20,
  54.     ~0, ~0,
  55.     CUSTOMSCREEN
  56. };
  57.  
  58. void vLogo(void)
  59. {
  60.     int iX = hInst -> Width,
  61.         iY = hInst -> Height;
  62.     char *sPictureName = "gfx/logo.jpg";
  63.     HWND hWndLogo;
  64.     HGDIOBJ hLogo;
  65.     struct IntuiMessage *hMsg;
  66.     int iClass;
  67.  
  68.     NWSLogo.LeftEdge = iX / 2 - (522 / 2);
  69.     NWSLogo.TopEdge  = iY / 2 - (261 / 2);
  70.     NWSLogo.Width    = 540;
  71.     NWSLogo.Height   = 260;
  72.     NWSLogo.Screen = hInst;
  73.  
  74.     if (!(hWndLogo = OpenWindow(&NWSLogo)))
  75.         return;
  76.  
  77.     if (!(hLogo = hAddImage(hWndLogo, sPictureName, hWndLogo -> BorderLeft, hWndLogo -> BorderTop, 256, 256)))
  78.     {
  79.         CloseWindow(hWndLogo);
  80.         return;
  81.     }
  82.  
  83.     // Remplir la fenêtre en blanc
  84.     SetAPen(GetDC(hWndLogo), 2);
  85.     RectFill(GetDC(hWndLogo), hWndLogo -> BorderLeft + 1, hWndLogo -> BorderTop + 1, hWndLogo -> Width - hWndLogo -> BorderRight - 1, hWndLogo -> Height - hWndLogo -> BorderBottom - 1);
  86.     SetDrMd(GetDC(hWndLogo), JAM1);
  87.     SetAPen(hWndLogo -> RPort, 1);
  88.  
  89.     // Sortir les textes
  90.     ExtTextOut(hWndLogo -> RPort, 261,   0, 0, (RECT *) NULL, "Sculpt 'RenderGirl' Warp3D             ",  39, (int *) NULL);
  91.     ExtTextOut(hWndLogo -> RPort, 261,  15, 0, (RECT *) NULL, "Avec des petits bouts de code dedans !!",  39, (int *) NULL);
  92.     ExtTextOut(hWndLogo -> RPort, 261,  30, 0, (RECT *) NULL, "** Best browzed wiz a (B|C)Vision **   ",  39, (int *) NULL);
  93.     ExtTextOut(hWndLogo -> RPort, 261,  45, 0, (RECT *) NULL, "Fille de l'inimitable & parfait        ",  39, (int *) NULL);
  94.     ExtTextOut(hWndLogo -> RPort, 261,  60, 0, (RECT *) NULL, "Sculpt 3D (1987) pour Amiga (1985)     ",  39, (int *) NULL);
  95.     ExtTextOut(hWndLogo -> RPort, 261,  75, 0, (RECT *) NULL, "En hommage à BYTE by BYTE / Eric Graham",  39, (int *) NULL);
  96.     ExtTextOut(hWndLogo -> RPort, 261,  90, 0, (RECT *) NULL, "Et pour le fun du code W3D/DX7/D3Dim   ",  39, (int *) NULL);
  97.     ExtTextOut(hWndLogo -> RPort, 261, 105, 0, (RECT *) NULL, "Code : Sgueu, Add.Code : Tox'n, Greuh  ",  39, (int *) NULL);
  98.     ExtTextOut(hWndLogo -> RPort, 261, 120, 0, (RECT *) NULL, "DEEP RESPECT : Sam Jordan/Frieden Bros ",  39, (int *) NULL);
  99.     ExtTextOut(hWndLogo -> RPort, 261, 135, 0, (RECT *) NULL, "Idées : Greuh-nouil (comme d'hab)      ",  39, (int *) NULL);
  100.     ExtTextOut(hWndLogo -> RPort, 261, 150, 0, (RECT *) NULL, "Support : Yeyel Kidz Kat Janal Droid   ",  39, (int *) NULL);
  101.     ExtTextOut(hWndLogo -> RPort, 261, 165, 0, (RECT *) NULL, "Bugs : Sub'zzzZZZzzzzZZzzz... Paf !    ",  39, (int *) NULL);
  102.     ExtTextOut(hWndLogo -> RPort, 261, 180, 0, (RECT *) NULL, "Greets : Yoyo, Jojo, CdBS              ",  39, (int *) NULL);
  103.     ExtTextOut(hWndLogo -> RPort, 261, 195, 0, (RECT *) NULL, "Game & lame : Willy Go Cake !          ",  39, (int *) NULL);
  104.  
  105.     do
  106.     {
  107.         WaitPort(hWndLogo -> UserPort);
  108.  
  109.         // Traiter tous les messages dans la file de la fenêtre
  110.         while (hMsg = (struct IntuiMessage *) GetMsg(hWndLogo -> UserPort))
  111.         {
  112.             iClass = hMsg -> Class;
  113.             ReplyMsg((struct Message *) hMsg);
  114.             vRefreshImage(hWndLogo, hLogo);
  115.         }
  116.     }
  117.     while ( iClass != IDCMP_CLOSEWINDOW
  118.          && iClass != IDCMP_MOUSEBUTTONS
  119.          && iClass != IDCMP_VANILLAKEY
  120.          && iClass != IDCMP_GADGETDOWN);
  121.  
  122.     vRemoveImage(hWndLogo, hLogo);
  123.  
  124.     CloseWindow(hWndLogo);
  125. }
  126.  
  127.